Skip to content

Conversation

@ucodia
Copy link
Contributor

@ucodia ucodia commented Nov 14, 2025

Specifying nargs=1 to the argument parser effectively turns the parameter into a list with a single value.

This makes it impossible to specify a destination for the download subcommand as downstream function expect a string and not a list.

C:\Users\ucodia\code\myproject> ffdl download 7.1@full -d bin
Traceback (most recent call last):
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\ucodia\miniconda3\envs\myproject\Scripts\ffdl.exe\__main__.py", line 6, in <module>
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\site-packages\ffmpeg_downloader\ffdl.py", line 5, in run
    main("ffdl")
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\site-packages\ffmpeg_downloader\__main__.py", line 401, in main
    args.func(args)
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\site-packages\ffmpeg_downloader\__main__.py", line 80, in download
    dstpaths = ffdl.download(
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\site-packages\ffmpeg_downloader\_backend.py", line 205, in download
    return [do(*entry) for entry in info]
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\site-packages\ffmpeg_downloader\_backend.py", line 205, in <listcomp>
    return [do(*entry) for entry in info]
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\site-packages\ffmpeg_downloader\_backend.py", line 171, in do
    dstpath = path.join(dst, filename)
  File "C:\Users\ucodia\miniconda3\envs\myproject\lib\ntpath.py", line 105, in join
    path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not list

The simplest fix is to remove the nargs specification.

C:\Users\ucodia\code\myproject> ffdl download 7.1@full -d bin
Downloaded and saved 7.1@full:
  bin\ffmpeg-7.1.1-full_build.zip

@tikuma-lsuhsc tikuma-lsuhsc merged commit a909976 into python-ffmpegio:main Nov 14, 2025
8 checks passed
@tikuma-lsuhsc
Copy link
Contributor

@ucodia - Thanks for the fix! (I planned a lot of features but many have not been validated lol.)

@ucodia
Copy link
Contributor Author

ucodia commented Nov 14, 2025

@tikuma-lsuhsc my pleasure, thanks for the super quick merge!

@tikuma-lsuhsc
Copy link
Contributor

Release v0.4.1 contains this fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants